---
title: "Reference: Run Class | Workflows"
description: Documentation for the Run class in Mastra, which represents a workflow execution instance.
---

# Run Class

The `Run` class represents a workflow execution instance, providing methods to start, resume, stream, and monitor workflow execution.

## Usage example

```typescript showLineNumbers copy
const run = await workflow.createRun();

const result = await run.start({
  inputData: { value: "initial data" },
});

if (result.status === "suspended") {
  const resumedResult = await run.resume({
    resumeData: { value: "resume data" },
  });
}
```

## Run Methods

<PropertiesTable
  content={[
    {
      name: "start",
      type: "(options?: StartOptions) => Promise<WorkflowResult>",
      description: "Starts workflow execution with input data",
      required: true,
    },
    {
      name: "resume",
      type: "(options?: ResumeOptions) => Promise<WorkflowResult>",
      description: "Resumes a suspended workflow from a specific step",
      required: true,
    },
    {
      name: "stream",
      type: "(options?: StreamOptions) => MastraWorkflowStream",
      description: "Monitors workflow execution as a stream of events with enhanced streaming features",
      required: true,
    },
    {
      name: "resumeStream",
      type: "(options?: ResumeStreamOptions) => MastraWorkflowStream",
      description: "Resumes a suspended workflow with streaming support",
      required: true,
    },
    {
      name: "cancel",
      type: "() => Promise<void>",
      description: "Cancels the workflow execution",
      required: true,
    },
    {
      name: "restart",
      type: "(options?: RestartOptions) => Promise<WorkflowResult>",
      description: "Restarts the workflow execution from last active step",
      required: true,
    },
    {
      name: "timeTravel",
      type: "(options?: TimeTravelOptions) => Promise<WorkflowResult>",
      description: "Re-executes a workflow starting from any specific step, using either stored snapshot data or custom context you provide.",
      required: true,
    },
    {
      name: "timeTravelStream",
      type: "(options?: TimeTravelOptions) => MastraWorkflowStream",
      description: "Time travels a workflow execution with streaming support",
      required: true,
    },
  ]}
/>

## Run Status

A workflow run's `status` indicates its current execution state. The possible values are:

<PropertiesTable
  content={[
    {
      name: "success",
      type: "string",
      description:
        "All steps finished executing successfully, with a valid result output",
    },
    {
      name: "failed",
      type: "string",
      description:
        "Workflow execution encountered an error during execution, with error details available",
    },
    {
      name: "suspended",
      type: "string",
      description:
        "Workflow execution is paused waiting for resume, with suspended step information",
    },
  ]}
/>

## Related

- [Run.start()](./run-methods/start)
- [Run.resume()](./run-methods/resume)
- [Run.cancel()](./run-methods/cancel)
- [Run.restart()](./run-methods/restart)
- [Run.timeTravel()](./run-methods/timeTravel)
- [Run.stream()](/docs/v1/streaming/workflow-streaming)
- [Run.timeTravelStream()](../streaming/workflows/timeTravelStream)